Copyright: Joystick Control Centre by John Michael Hnidec


What is The Joystick Control Centre
What is The Joystick Control Centre?

Now you can program the buttons on ANY joystick to do what you want!

Here are some of the main features of this HOT NEW software…

The Joystick Control Centre allows you to program the buttons on any kind of joystick in Windows 95. What this means is that you can assign keystroke macro’s and commands to each button on your joystick and save these commands as template files. You can create different template files for different games and then use these template files when playing the game.

You can change “modes” in real time on your joystick by the press of a button. This allows your joystick to have virtual buttons, so if your joystick has 6 real buttons, and you use 5 modes, you have 30 virtual buttons to program and use. Just switch modes on the fly when you need to.

Each button can have more than one keystroke assigned to it making it ideal for performing complicated keystroke actions and maneuvers in your games. Such things as selecting a weapon, loading a weapon, changing views and firing a weapon could all be done by one button press.

The games you are using do not have to be “joystick capable” to utilize all the facilities of this program.

Each joystick can have up to 5 virtual modes. Modes are switched by the press of a button. (You tell it which one).

Each virtual mode supports up to 20 buttons per joystick making a possible limit of 100 virtual buttons. (If you need this many, you are in big trouble).

Each button can transmit up to 6 command macro’s or keystrokes.

Buttons can be configured on the fly. If you want to make changes to your settings, pause your game, make your changes and continue. Changes take effect immediately.

Will work with any brand of joystick in Windows 95.

Does not require any external vbx’s, dll’s, ocx’s or programs to run. Just requires the one executable.

If you can do it with the keyboard, you can do it with The Joystick Control Centre


Requirements

Not many really..

Microsoft Windows 95.

A joystick with buttons that has been successfully installed under Windows 95.

A Windows 95 or Windows 3.x game or application to use your joystick with.

That’s it!


An Example - Microsoft Flight Simulator for Windows 95

Here is how I am using The Joystick Control Centre.

I am an avid flight simulator junkie and currently use Microsoft flight simulator for Windows 95. I have a CH Flightstick Pro joystick which has four buttons and 1 four-way hat switch making 8 buttons in total. I have decided to use 4 “modes” for my flight simulator template.

Mode 1 is my takeoff mode. The functionality I have from my joystick in this mode includes 4 views (front, back, left, right), throttle up, throttle down, gear up/down and the mode switching button.

Mode 2 is the first of my general flying modes. After takeoff, I switch modes (press a button) to mode 2. The functionality I have from my joystick in this mode includes 4 views (front left, front right, front, back), throttle up, throttle down, trim controls and the mode switching button.

Mode 3 is the second of my general flying modes. I have put actions which don’t change much here such as autopilot on/off, altitude hold, heading hold, lights on/off, strobes on/off, and so on.

Mode 4 is my landing mode. The functionality I have in this mode is throttle up, throttle down, brakes, flaps up, flaps down, spoilers, magnetos off and the mode switching button.

Another good use for a button would be to start the engines of my plane. The keystrokes to do this are Ctrl+Shift+F4 to start the fuel pump and then J and + and + to start the jet engines. I could assign all these keystrokes to one button, perhaps in mode 1, my takeoff mode.

To throttle up and throttle down in Flight Simulator for Windows 95 you use the F2 and F3 keys. When you press these keys the throttle only moves a small amount. So I have programmed my joystick to send 3 keypresses whenever I press the throttle up and down buttons on my joystick. Just another example of what you can do with this program.

The above settings are just examples. I hope you can see the benefits of using The Joystick Control Centre. Use your imagination and create whatever configurations you want.


How Does It Work?

JOYCFG.EXE

The Joystick Control Centre consists of two modules. The first, JOYCFG.EXE, is used to program the buttons on your joystick to do what you want them to do. With this module, you can load, save, edit and create template files that will be used with your games or applications.

JOYRUN.EXE

The second module, JOYRUN.EXE, is the program that runs while your game is running. When this module is running, all you will see is a tiny window that indicates which joystick “mode” you are currently in. This tiny window can be moved around and will stay on top of all other windows.

When you start JOYRUN.EXE, it immediately brings up a “File Open” dialog box. Select a joystick template file that you have previously created with JOYCFG.EXE and away you go.

This is all you will see when you run JOYRUN.EXE. It will appear at the top left hand side of your screen and will remain on top of all other windows. Move it to somewhere more convenient when playing your game. If you change modes, the caption of this window will change to reflect the mode number you are currently in.

You will not notice any performance loss in your system or gameplay when JOYRUN.EXE is running as it is NOT using a polling method to capture button presses. It will respond to joystick button presses as quickly as the buttons can be pressed. (All else being equal of course).


Using JOYCFG.EXE

Below is a small tutorial in programming your joystick using JOYCFG.EXE. You may like to take 5 minutes to work through or at least have a read of the following steps so you can become completely familiar with all the features of The Joystick Control Centre.

Step 1

Make sure you know which game you want to use this template with. Have a good think about what you would like each button on your joystick to do and how many “modes” you might require. Try to organize your button actions into logical groups for each “mode”. For example Mode 1 is for taking off, Mode 2 is for flying and Mode 3 is for landing. This way you won’t have to change “modes” as often (not that this is hard to do mind you).

Step 2

Familiarize yourself with what keys you need to press in your game to perform actions you want to do with the joystick buttons. For example, if you want the Trigger button on your joystick to fire and reload a machine gun, you need to know what keystroke or keystrokes are needed to do this in the game.

Step 3

Start the program JOYCFG.EXE

Step 4

You are now looking at the front screen of the template configuration program. Press a few buttons on your joystick and you will see the joystick button id changing on the screen. The button id is simply a unique number which identifies each button on your joystick, you do not need to be concerned about this number. You will not have to know this number for any reason, just be aware of what it is.

If you want more than one “mode” on your joystick, this screen is where you specify which button will be used for mode switching. Simply press the button you will be using, type a meaningful description of this button (e.g. Trigger, Middle Button, Hat Switch Down, Right Hand Button On The Back etc.) and click the “Add Btn” button. Although the software does not make you do it, it is strongly recommended that you type a description for each button you program. It will make life a lot simpler later on if you want to change some of the settings.

Step 5

Click the tab labeled Button Details. This is the screen where you program your joystick buttons. Again, press some of the buttons on your joystick, and you will see the ID field changing with each button press. Decide which button you want to program and press it, and then type a meaningful description for  which button this is.

Step 6

Tab down to the next text box which is a description of what this button press will actually do. Again, this should be something meaningful such as “Load and fire machine gun” or “Increase Throttle” or “Look Left” and so on.

Step 7

Tab down to the next text box which has a 1 next to it. These 6 boxes each represent a keystroke that can be assigned to the joystick button we are currently programming. To add a keystroke, simply double click the text box. This will activate a pop up list of all the keystrokes you can choose from. Scroll down the list and pick the keystroke to be added. Note, each keystroke can have Ctrl or Shift added to the front of it to create shifted key combinations.

If you need to delete a keystroke, double click the textbox and select [NONE] from the popup list. This is the first item in the popup list.

Step 8

When you have added all the keystrokes you require for this button click the “Add Btn” button on the right hand side. This will add the button and you will see its details appear in the list box at the bottom of the screen.

Congratulations, you have programmed your first button. If you press another button on your joystick you can repeat these steps and program another joystick button.

Other Tasks

As you program each button and press “Add Btn” you will see it appear in the summary list box at the bottom. If you need to change some settings, you can press the button on your joystick or select it from the summary list box and then make your changes. Remember to press “Add Btn” even when you are modifying a button or your changes will not register.

To program joystick buttons for another mode, simply select the mode you require from the drop down list at the bottom of the screen.

The third tab on the screen is the “Summary” tab. This displays a listing of what each button does for each mode that you have programmed. It may be useful to print this summary and refer to it when you are using your joystick in a game, especially if you have programmed many buttons and used several modes.

Remember to save your template file when you have finished creating it.


Product Support, Registration and Ordering Information

Some Blurb

Well, this is the part where I try to make you feel guilty and pay me some money. I have put a great deal of time and effort into developing this software, and by doing so I hope you will  gain more from your joystick and the games you use it with.

The version you have at the moment is the shareware version. This version is fully functional but JOYRUN.EXE will only run for 15 minutes, after which time it will stop and you will have to restart it. I am hoping this will encourage you to register this software if you enjoy using it.

I can be emailed at johnh@bit.net.au for any queries or suggestions you may have for this software. Please feel free to drop me a line and let me know what you think.

Why Register?

You will receive the fully functional version without the 15 minute time restriction.

You will be eligible to free upgrades for future versions.

You will receive an updated help file with fewer spelling mistaks.

You will make me very happy.

How Much and How?

The registration fee for THE JOYSTICK CONTROL CENTRE is $20.00 Australian. Payments can made by cheque or money order. If you email me I can give you my banking details and your bank could simply wire the money through to my account.

If you have an email address, the software can be sent to you electronically.

Print the Order Form and mail your cheque or money order with the registration form to:-

John Michael Hnidec

10 Anita St.

Yeronga  4104

Brisbane, QLD

Australia

Please also include $5.00 for shipping and postage.

Future Versions

If you register, you will be eligible for free upgrades for the lifetime of this product. So what is in the pipeline for future versions?

Button Up events. This means you will be able to program your joystick to do something when buttons are released as well as when they are pressed.

Auto Repeat. This means you will be able to automatically repeat an action as long as you hold down the joystick button.

Button description templates. This means you will be able to describe each button on your joystick and save these descriptions. The software will then automatically read these descriptions when you are programming your joystick rather than you having to type them in each time.

Support for Windows NT.

Support for other peripherals such as throttles, yokes and the myriad of other weird and wonderful attachments out there. (some of these may work already).

Future versions will be more expensive than this version. Get in now and save some money (and make me happy).

Thankyou

John Hnidec


Things To Be Aware Of

Make Sure Your Game Has The Focus

When JOYRUN.EXE is running, it stays on top of all other windows but does not have the focus. (The game you are playing naturally has the focus). If you move or click on the JOYRUN.EXE window, it will naturally have the focus, so any joystick button presses will go to it and not to your game. Simply make sure you click back on your game window if this happens. (I have forgotten to do this, and I wrote the program!).

Check Your Joystick Settings In The Game

Some games allow you to assign events to joystick button presses. These settings are usually configurable by the user. It is best to remove any associations to buttons within the game itself and then use this program to configure the buttons. If you leave the settings in the game and program a button to do something, the button press will do what you programmed it to do and then it will do what it is set up to do in the game itself. When using Flight Simulator for Windows 95 for example, I removed all references to button presses in the FLTSIM.CFG file and completely re-programmed the joystick.

Start JOYRUN.EXE After Starting Your Game

You should start your game before running JOYRUN.EXE. This gives maximum response to button presses and ensures all the buttons on your joystick can be used.

Only Got One Joystick Button?

If you have a joystick with only one button, this program will probably not be very useful to you. You could still use it, but you would not be able to change modes because one of your joystick buttons is used as the mode changing button. You could still assign 6 keystrokes to the button press which may be handy for repeat firing of a gun or something.

Remember To Close When Finished

Try to remember to close JOYRUN.EXE when you have finished with it. Because its’ window is so small, it is easy to forget about it. Remember, when you press a joystick button, the keystrokes you have programmed are sent to the active application. If keystrokes meant for DOOM are sent to Microsoft Word, this may not be a good thing.

It Only Controls Button Presses

The Joystick Control Centre only controls button presses on the joystick. It has nothing to do with the actual x, y movement of the joystick itself. Any configuration or calibration of the movement along axis is still performed in the usual manner.

Some Games Will Not Work

Some games may be programmed to control the keyboard or joystick exclusively when they are running. Others may have proprietary routines to detect keystrokes and joystick button presses. The Joystick Control Centre may not work correctly in these instances. You would have to experiment and find out. By the way, I would be most interested if you let me know so I could have a look and perhaps do something about it. I cannot guarantee which games will and will not work with this product, again experiment and see. I can say however that it works with Microsoft Flight Simulator for Windows 95 because I use it all the time.

Windows NT

Due to the way The Joystick Control Centre has been programmed, it will not work reliably under Windows NT version 4.

Fun, Fun, Fun

Most importantly of all, Have Fun!


Trademarks

Windows is a trademark of Microsoft Corporation.

Windows 95 is trademark of Microsoft Corporation.

Windows NT is a trademark of Microsoft Corporation

CH Flightstick is a CH Products product


What Files Are Included
What Files Are Included?

The Joystick Control Centre archive you have unzipped should contain the following files:

FileName	Description
JOYCFG.EXE	Used to Create,  Delete and  Modify joystick template files.
JOYRUN.EXE	Runs while your game is running and performs all joystick button to keystroke translations.
JOYSTICK.HLP	This help file.
JOYSTICK.CNT	Required file for this help file.
README.TXT	Brief summary of this software and inclusion of any last minute changes and modifications.


Limitation of Liability

THE JOYSTICK CONTROL CENTRE IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. NEITHER AUTHOR NOR ANY OTHER PARTIES INVOLVED SHALL BE HELD LIABLE FOR ANY KIND OF DAMAGES OR CLAIMS THAT DIRECTLY OR INDIRECTLY RESULT FROM USING THIS SOFTWARE.

BY USING THE SHAREWARE VERSION OF THE JOYSTICK CONTROL CENTRE YOU ACKNOWLEDGE THAT YOU HAVE READ THIS LIMITED WARRANTY, UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS' TERMS AND CONDITIONS. YOU ALSO AGREE THAT THE LIMITED WARRANTY IS THE COMPLETE AND EXCLUSIVE STATEMENT OF AGREEMENT BETWEEN THE PARTIES AND SUPERSEDE ALL PROPOSALS OR PRIOR AGREEMENTS, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN THE PARTIES RELATING TO THE SUBJECT MATTER OF THE LIMITED WARRANTY.


Order Form

Registration for THE JOYSTICK CONTROL CENTRE.

Please send me a registered version of The Joystick Control Centre. I have enclosed a cheque or money order for $25.00 made payable to John Hnidec This includes $20.00 for The Joystick Control Centre software and $5.00 for postage and handling.

Electronic Mail Details

Please send my copy of THE JOYSTICK CONTROL CENTRE to the following email address.

Email Address:	____________________________________________________

OR

Postage Details

Please send my copy of THE JOYSTICK CONTROL CENTRE to the following address.

Name:	____________________________________________________

Street:	____________________________________________________

City:	____________________________________________________

State: 	____________________________________________________

country:	____________________________________________________

Post/Zip Code:	____________________________________________________

Media Type

3.5" Floppy Diskette

or

5.25" Floppy Diskette

Thankyou for registering THE JOYSTICK CONTROL CENTRE. I appreciate your support and hope you enjoy using this software.


Author Information

My Name is John Michael Hnidec. I have been programming for many years in various languages. My full time profession is software specialist for a large government organization in Queensland, Australia. I had written this program initially as a need for myself. It has naturally progressed from there to its current incarnation. I hope you find it useful.

I can be contacted via email at the following address:

johnh@bit.net.au

Thankyou


Tips And Tricks

Repeating Keystrokes

To get the effect of repeating keystrokes, for example, automatic weapon fire, make each of the 6 available keystrokes for the button the same. This has the effect of pressing the fire button 6 times with each single press of the joystick button.

Naming Actions and Buttons

Always assign meaningful names to the buttons and actions in your template files. Use button descriptions that clearly identify which button you mean. For example, “Second Button on the Left” or “Trigger Button” is more meaningful than “Button Number 1”.

Repeating Combinations

When assigning keystrokes to joystick buttons remember that a keystroke combination is different to two separate keystrokes. For example pressing the Shift key and then pressing the Enter key is 2 keystrokes and is completely different to holding down the Shift key and pressing the Enter key. Make sure you know the difference when programming your joystick buttons.

Always Press “Add Btn”

Always press the “Add Btn” button whenever you add or change a joystick button, otherwise your changes will not register.

Remember to Save Your Work

Always remember to save your template files when you have created or modified them, otherwise you will lose your hard work.

Multiple Modes

When using multiple modes, avoid having modes which do nothing. This just means you will have to switch between more modes than you would normally have to. For example, if you need to use 2 modes, use mode 1 and mode 2, do not use mode 1 and mode 3.

Keep It All Together

If you keep all your joystick template files together in the same directory as JOYCFG.EXE and JOYRUN.EXE, you will find it easier to open and use your templates.


Mode Details Screen


Error Messages

The following errors can occur when you start JOYCFG.EXE or JOYRUN.EXE.

Cannot Capture Joystick Input

For some reason, the program cannot capture what is happening with your joystick. It may be another program running has complete control over the joystick. It may be you are trying to run a second copy of JOYCFG.EXE or JOYRUN.EXE. You may also be trying to run one of these programs while the other is running. You cannot run both at the same time.

Cannot Detect a Connected Joystick

Your joystick is not plugged in correctly. Check all connections and try again.

Cannot Detect a Joystick Driver

Your joystick has not been installed in Windows 95 correctly. A joystick needs a joystick driver to operate. You will need to install a driver for you joystick. Refer to the documentation that came with your joystick or refer to the help available in Windows 95.


Button Details Screen


The Summary Screen


Using JOYRUN.EXE

Now that you have created a template file using JOYCFG.EXE you have very little else left to do. From here, all you need to do is start your Windows game and the run JOYRUN.EXE. The first thing this program does is ask you for a joystick template filename. Select the appropriate joystick template file for the game and away you go.

The small window will appear at the top left hand side of your screen. Move it around if it is in the way, but remember to click back on your game to set the focus to it.